﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using GestionComercial.Model;
using GestionComercial.Model.Entities;
using GestionComercial.Utils;
namespace GestionComercial.Data
{
    public class ClienteData
    {
        OperationResult result;
        Context db = ManagerContext.Contexto;

        public OperationResult Guardar(Cliente _cliente)
        {
            Cliente entity;
            result = new OperationResult();
            try{
                if ((_cliente.IdCliente == null) || _cliente.IdCliente.Equals(Guid.Empty))
                {
                    _cliente.IdCliente = Guid.NewGuid();
                    db.Clientes.Add(_cliente);
                }
                db.SaveChanges();
                result.Success = true;
                result.Id = _cliente.IdCliente;
                return result;
            }
            catch{
                result.Msg = "Error al grabar cliente";
                return result;
            }
        }

        public List<Cliente> CargarTodos()
        {
            return db.Clientes.ToList();
        }

        public Cliente CargarPorId(Guid IdCliente)
        {
            if ((IdCliente != null) && (!(IdCliente.Equals(Guid.Empty))))
                return db.Clientes.FirstOrDefault(cli => cli.IdCliente == IdCliente);
            else
                return null;
        }
    }


}
